what is oracle and how does it work